package com.invengo.module_check.ui.fragment.bookdown.fragment;

import static com.invengo.module_check.data.entity.BundleKey.KEY_OP_STATE;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;

import androidx.annotation.Nullable;
import androidx.navigation.fragment.NavHostFragment;

import com.bumptech.glide.Glide;
import com.invengo.library_rfid.classify.AnalyzeImpl;
import com.invengo.module_check.BR;
import com.invengo.module_check.R;
import com.invengo.module_check.data.entity.ActionArgs;
import com.invengo.module_check.data.entity.BundleKey;
import com.invengo.module_check.databinding.FragmentBookDownBySingleLayerBinding;
import com.invengo.module_check.ui.fragment.widget.SelectShelfDialog;

import java.io.Serializable;

import me.goldze.mvvmhabit.base.BaseFragment;
import me.goldze.mvvmhabit.bus.RxBus;
import me.goldze.mvvmhabit.bus._CacheTag;
import me.goldze.mvvmhabit.utils.KLog;

public class BookDownBySingleShelfFragment extends BaseFragment<FragmentBookDownBySingleLayerBinding, BookDownViewModel> {
    @Override
    public int initContentView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return R.layout.fragment_book_down_by_single_layer;
    }

    @Override
    public int initVariableId() {
        return BR.viewModel;
    }

    @Override
    public void changeModel() {
        RxBus.getDefault().postSticky(AnalyzeImpl.TO_SHELF);
    }


    @Override
    public void initViewObservable() {
        viewModel.uiChage.nextEvent.observe(this, bookBeans -> {
            Bundle bundle = new Bundle();
            bundle.putSerializable(BundleKey.KEY_BOOKS,(Serializable) (viewModel.getFialBooks().isEmpty()? bookBeans:viewModel.getFialBooks()));
            bundle.putSerializable(BundleKey.KEY_FAIL_BOOKS, (Serializable) viewModel.getFialBooks());
            bundle.putSerializable(BundleKey.KEY_ACTION, ActionArgs.ACTION_DOWN);
            bundle.putBoolean(KEY_OP_STATE, bookBeans != null&&viewModel.getFialBooks().isEmpty());
            bundle.putBoolean(BundleKey.KEY_IS_SHELF_RESULT, true);
            bundle.putString(BundleKey.KEY_TITLE, "下架");
            NavHostFragment.findNavController(this).navigate(ActionArgs.ACTION_DOWN.getResultAction(), bundle);
        });
        viewModel.uiChage.selectShelfEvent.observe(this, bean -> SelectShelfDialog.getInstance().showDialog(getActivity(), bean, bean1 -> {
            viewModel.handlerShelf(bean1);
        }));
    }
}
